package main

import "fmt"

// 类型断言1 格式 x.(T) x：表示接口类型的变量 T：表示断言x可能是的类型。

func assign(a interface{}) {
	fmt.Printf("%T\n", a)
	str, ok := a.(string)
	if !ok {
		fmt.Println("猜错了")
	} else {
		fmt.Println("传进来的是一个字符串: ", str)
	}
}

//类型断言2
// 空接口作为函数参数
func assign2(a interface{}) {
	fmt.Printf("%T\n", a)
	switch t := a.(type) {
	case string:
		fmt.Println("这是字符串", t)
	case int:
		fmt.Println("这是int", t)
	case int64:
		fmt.Println("这是int64", t)
	}
}
